package com.ruoyi.user.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;

import lombok.Data;
import lombok.EqualsAndHashCode;
/**
 * 用户资金流水对象 t_user_capital_flow
 * 
 * @author DEREK
 * @date 2023-05-23
 */
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("t_user_capital_flow")
public class UserCapitalFlow
{

    /** 主键ID */
	@TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /** 类型：1=钻石收入2=钻石支出 3=K币收入 4=K币支出5=上级收入(邀请的好友消费自己得佣金)6=第三方支付
 */
    @Excel(name = "类型：1=钻石收入2=钻石支出 3=K币收入 4=K币支出5=上级收入(邀请的好友消费自己得佣金)6=第三方支付")
    private Integer type;

    /** 业务类型
1：充值VIP
2：赠送礼物
3：购买曝光卡
4：充值钻石
5：接收礼物
6：互动奖励提现
7：互动奖励兑换K币
8：个人主页解锁微信
9：个人主页充值会员
10：广场赠送礼物
11：个人主页赠送礼物
12：聊天赠送礼物
13：7天体验卡
14：邀请好友兑换K币
15：购买置顶卡
16：邀请好友提现
17：后端赠送道具
21：单次解锁约玩
22：单次解锁聊天
 */
    @Excel(name = "业务类型")
    private Integer businessType;

    /** 金额 */
    @Excel(name = "金额")
    private BigDecimal amount;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 对方ID 0=VIP充值 1=钻石充值 2=购买道具 3=解锁微信 4=提现 5=积分6=7天体验卡 8=兑换K币 9=解锁约玩 10=解锁聊天 */
    @Excel(name = "对方ID 0=VIP充值 1=钻石充值 2=购买道具 3=解锁微信 4=提现 5=积分6=7天体验卡 8=兑换K币 9=解锁约玩 10=解锁聊天")
    private Long toUserId;

    /** 订单号 */
    @Excel(name = "订单号")
    private String orderNo;

    /** 用于提现
0=审核中
1=审核通过
2=审核异常
用于充值
0=异常
1=正常 */
    @Excel(name = "用于提现0=审核中1=审核通过2=审核异常用于充值0=异常1=正常")
    private Integer isSettle;

    /** 0=钻石 1=微信 2-支付宝 4=苹果 */
    @Excel(name = "0=钻石 1=微信 2-支付宝 4=苹果")
    private Integer source;

    /** 业务ID 用户充值中心区分是否已经充值(充值规格表) */
    @Excel(name = "业务ID 用户充值中心区分是否已经充值(充值规格表)")
    private Long relatedId;

    /** 删除标识 用于 APP内 账单显示 1=正常 0=删除 */
    private Integer delFlag;

    /** 充值VIP的规格名称 */
    @Excel(name = "充值VIP的规格名称")
    private String nameType;

    private String remark;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    private Date createTime;
    
    @TableField(exist = false)
    private String nickName;
}
